#ifndef JPROJECTITEM_H
#define JPROJECTITEM_H

#include <QList>
#include <QVariant>
#include <QVector>

class JProjectItem
{
public:
    JProjectItem(const QVector<QVariant> &data, JProjectItem *parent = 0);
    ~JProjectItem();

    JProjectItem *child(int number);
	JProjectItem *parent();

    int childCount() const;
    int columnCount() const;

    QVariant data(int column) const;
	bool setData(int column, const QVariant &value);

    bool insertChildren(int position, int count, int columns);
    bool insertColumns(int position, int columns);

    bool removeChildren(int position, int count);
    bool removeColumns(int position, int columns);

    int childNumber() const;

private:
    QList<JProjectItem*>	m_childItems;
	QVector<QVariant>		m_itemData;
    JProjectItem *			m_parentItem;
};

#endif
